package com.mes.service.lc;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.mes.dao.lc.MaterialComekuMapper;
import com.mes.entity.lc.MaterialComeku;
import com.mes.entity.lc.MaterialStock;
import com.mes.entity.tdd.ProcurementRuku;
import com.mes.entity.tdd.ProcurementRukuMateriel;


/**
 * 资材入库单 service 接口实现类
 * @author Administrator
 *
 */
@Service
public class MaterialComeKuServiceImpl implements MaterialComeKuService {

	@Autowired
	MaterialComekuMapper  materialComekuMapper;

	/**
	 * 多条件分页查询
	 * @param materialComeku
	 * @return
	 */
	@Override
	public List<MaterialComeku> selectfymck(MaterialComeku materialComeku) {
		return materialComekuMapper.selectfymck(materialComeku);
	}


	/**
	 * 多条件分页查询总数
	 * @param materialComeku
	 * @return
	 */
	@Override
	public int selectfymckcont(MaterialComeku materialComeku) {
		return materialComekuMapper.selectfymckcont(materialComeku);
	}


	/**
	 * 查询未入库的资材收货单
	 */
	@Override
	public List<ProcurementRuku> selectProcurementall() {
		return materialComekuMapper.selectProcurementall();
	}

	/**
	 * 根据收货单主键查询收货单对应的具体详情
	 * @param ids 
	 * @return
	 */
	@Override
	public List<ProcurementRukuMateriel> selectPrmall(Long ids) {
		return materialComekuMapper.selectPrmall(ids);
	}

	/**
	 * 资材入库单 和 物料库存 的添加
	 * @param prm
	 * @param suprname
	 * @param number
	 * @param nowtime
	 * @return 
	 */
	@Override
	public int savemck(ProcurementRukuMateriel prm, String suprname,
			String number, String nowtime) {

		//资材入库
		MaterialComeku mck = new MaterialComeku();
		//物料库存
		MaterialStock  ms  = new MaterialStock();
		
		//添加物料入库信息
		mck.setOdd(number);//单号
		mck.setCometime(nowtime);//入库时间
		mck.setSupplier(suprname);//供应商
		mck.setMatname(prm.getMateriel().getName());//物料名称
		mck.setMatnumb(prm.getMateriel().getNumber());//物料编号
		mck.setPici(prm.getPmbatchnumber());//批次
		mck.setComenum(prm.getNumber());//入库数量
		mck.setCodee(prm.getBarcode());//条形码
		mck.setPeop("管理员");
		
		//添加物料库存信息
		ms.setWssck("物料");//所属仓库
		ms.getMateriel().setRemark2(prm.getMateriel().getRemark2());//车种
		ms.getMateriel().setName(prm.getMateriel().getName());// 物料名称   
		ms.getMateriel().setNumber(prm.getMateriel().getNumber());// 物料编号  
		ms.getMateriel().setColor(prm.getMateriel().getColor());// 颜色  
		ms.getMateriel().setRemark4(prm.getMateriel().getRemark4());// 库存安全量 
		ms.setWbeginnum(prm.getNumber());// 初期库存 
		ms.setWmonthcome(prm.getNumber());// 本月入库 
		ms.setWnum(prm.getNumber()); // 库存数量 
		
		Map<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put("mck", mck);
		paramMap.put("ms", ms);
		
		return materialComekuMapper.savemck(paramMap);
		
	}

	/**
	 * 根据资材入库单主键 修改资材入库单状态
	 * @param ids
	 */
	@Override
	public void updateProcurementRuku(Long ids) {
		materialComekuMapper.updateProcurementRuku(ids);
	}


	/**
	 * 根据主键查询资材入库单
	 * @param ruid
	 * @return
	 */
	@Override
	public ProcurementRuku selectallid(Long ruid) {
		return materialComekuMapper.selectallid(ruid);
	}
	
	
	
	
	
}
